home *** CD-ROM | disk | FTP | other *** search
- sin64 macro twiddle
- ; 64 point fft cosine table
- org x:twiddle
- dc 8388607 ; 1 0
- dc 8348214 ; .9951848 1
- dc 8227423 ; .9807854 2
- dc 8027397 ; .9569404 3
- dc 7750063 ; .9238796 4
- dc 7398091 ; .8819213 5
- dc 6974872 ; .8314696 6
- dc 6484481 ; .7730105 7
- dc 5931641 ; .7071068 8
- dc 5321677 ; .6343933 9
- dc 4660460 ; .5555702 10
- dc 3954363 ; .4713968 11
- dc 3210181 ; .3826835 12
- dc 2435084 ; .2902846 13
- dc 1636535 ; .1950902 14
- dc 822227 ; 9.801713E-02 15
- dc 0 ;-4.371139E-08 16
- dc -822228 ;-9.801722E-02 17
- dc -1636536 ;-.1950903 18
- dc -2435084 ;-.2902847 19
- dc -3210182 ;-.3826836 20
- dc -3954363 ;-.4713969 21
- dc -4660459 ;-.5555701 22
- dc -5321676 ;-.6343933 23
- dc -5931641 ;-.7071068 24
- dc -6484481 ;-.7730105 25
- dc -6974872 ;-.8314696 26
- dc -7398091 ;-.8819214 27
- dc -7750063 ;-.9238797 28
- dc -8027396 ;-.9569404 29
- dc -8227423 ;-.9807854 30
- dc -8348214 ;-.9951848 31
- ; 64 point fft sine table
- org y:twiddle
- dc 0 ; 0 0
- dc -822227 ;-9.801714E-02 1
- dc -1636536 ;-.1950903 2
- dc -2435084 ;-.2902847 3
- dc -3210181 ;-.3826835 4
- dc -3954362 ;-.4713968 5
- dc -4660460 ;-.5555703 6
- dc -5321676 ;-.6343933 7
- dc -5931641 ;-.7071068 8
- dc -6484481 ;-.7730105 9
- dc -6974871 ;-.8314696 10
- dc -7398091 ;-.8819213 11
- dc -7750062 ;-.9238796 12
- dc -8027396 ;-.9569404 13
- dc -8227422 ;-.9807853 14
- dc -8348213 ;-.9951848 15
- dc -8388607 ;-1 16
- dc -8348214 ;-.9951848 17
- dc -8227423 ;-.9807854 18
- dc -8027396 ;-.9569404 19
- dc -7750062 ;-.9238795 20
- dc -7398091 ;-.8819213 21
- dc -6974872 ;-.8314696 22
- dc -6484481 ;-.7730105 23
- dc -5931641 ;-.7071068 24
- dc -5321676 ;-.6343933 25
- dc -4660459 ;-.5555701 26
- dc -3954361 ;-.4713966 27
- dc -3210180 ;-.3826833 28
- dc -2435084 ;-.2902847 29
- dc -1636536 ;-.1950903 30
- dc -822227 ;-9.801709E-02 31
- endm
- sin16 macro twiddle
- ; 16 point fft cosine table
- org x:twiddle
- dc 8388607 ; 1 0
- dc 7750063 ; .9238796 1
- dc 5931641 ; .7071068 2
- dc 3210181 ; .3826835 3
- dc 0 ;-4.371139E-08 4
- dc -3210182 ;-.3826836 5
- dc -5931641 ;-.7071068 6
- dc -7750063 ;-.9238797 7
- ; 16 point fft sine table
- org y:twiddle
- dc 0 ; 0 0
- dc -3210181 ;-.3826835 1
- dc -5931641 ;-.7071068 2
- dc -7750062 ;-.9238796 3
- dc -8388607 ;-1 4
- dc -7750062 ;-.9238795 5
- dc -5931641 ;-.7071068 6
- dc -3210180 ;-.3826833 7
- endm
- sin1024 macro twiddle
- ; 1024 point fft cosine table
- org x:twiddle
- dc 8388607 ; 1 0
- dc 8388449 ; .9999812 1
- dc 8387976 ; .9999248 2
- dc 8387186 ; .9998306 3
- dc 8386081 ; .9996988 4
- dc 8384660 ; .9995295 5
- dc 8382923 ; .9993224 6
- dc 8380870 ; .9990777 7
- dc 8378503 ; .9987954 8
- dc 8375819 ; .9984756 9
- dc 8372821 ; .9981181 10
- dc 8369507 ; .9977231 11
- dc 8365879 ; .9972906 12
- dc 8361935 ; .9968204 13
- dc 8357675 ; .9963126 14
- dc 8353102 ; .9957675 15
- dc 8348214 ; .9951848 16
- dc 8343011 ; .9945646 17
- dc 8337495 ; .993907 18
- dc 8331665 ; .9932119 19
- dc 8325521 ; .9924796 20
- dc 8319063 ; .9917097 21
- dc 8312293 ; .9909027 22
- dc 8305210 ; .9900582 23
- dc 8297814 ; .9891766 24
- dc 8290105 ; .9882576 25
- dc 8282084 ; .9873014 26
- dc 8273751 ; .9863081 27
- dc 8265108 ; .9852777 28
- dc 8256152 ; .9842101 29
- dc 8246886 ; .9831055 30
- dc 8237309 ; .9819639 31
- dc 8227423 ; .9807854 32
- dc 8217226 ; .9795698 33
- dc 8206721 ; .9783174 34
- dc 8195906 ; .9770282 35
- dc 8184782 ; .9757022 36
- dc 8173351 ; .9743395 37
- dc 8161611 ; .9729399 38
- dc 8149565 ; .9715039 39
- dc 8137212 ; .9700314 40
- dc 8124552 ; .9685221 41
- dc 8111586 ; .9669764 42
- dc 8098315 ; .9653944 43
- dc 8084739 ; .9637761 44
- dc 8070859 ; .9621214 45
- dc 8056675 ; .9604306 46
- dc 8042187 ; .9587034 47
- dc 8027397 ; .9569404 48
- dc 8012305 ; .9551412 49
- dc 7996910 ; .9533061 50
- dc 7981215 ; .951435 51
- dc 7965219 ; .9495282 52
- dc 7948923 ; .9475856 53
- dc 7932329 ; .9456074 54
- dc 7915435 ; .9435934 55
- dc 7898244 ; .9415441 56
- dc 7880754 ; .9394592 57
- dc 7862969 ; .9373391 58
- dc 7844887 ; .9351835 59
- dc 7826510 ; .9329928 60
- dc 7807839 ; .930767 61
- dc 7788873 ; .9285061 62
- dc 7769614 ; .9262102 63
- dc 7750063 ; .9238796 64
- dc 7730220 ; .9215141 65
- dc 7710086 ; .9191139 66
- dc 7689661 ; .9166791 67
- dc 7668947 ; .9142098 68
- dc 7647944 ; .9117061 69
- dc 7626653 ; .909168 70
- dc 7605075 ; .9065957 71
- dc 7583211 ; .9039893 72
- dc 7561062 ; .9013489 73
- dc 7538627 ; .8986744 74
- dc 7515909 ; .8959663 75
- dc 7492908 ; .8932244 76
- dc 7469624 ; .8904487 77
- dc 7446060 ; .8876396 78
- dc 7422216 ; .8847971 79
- dc 7398091 ; .8819213 80
- dc 7373688 ; .8790122 81
- dc 7349008 ; .8760701 82
- dc 7324051 ; .873095 83
- dc 7298818 ; .8700869 84
- dc 7273311 ; .8670463 85
- dc 7247529 ; .8639728 86
- dc 7221475 ; .8608669 87
- dc 7195148 ; .8577286 88
- dc 7168551 ; .854558 89
- dc 7141684 ; .8513552 90
- dc 7114548 ; .8481203 91
- dc 7087145 ; .8448536 92
- dc 7059474 ; .841555 93
- dc 7031538 ; .8382247 94
- dc 7003337 ; .8348629 95
- dc 6974872 ; .8314696 96
- dc 6946145 ; .8280451 97
- dc 6917156 ; .8245893 98
- dc 6887906 ; .8211025 99
- dc 6858398 ; .8175848 100
- dc 6828631 ; .8140363 101
- dc 6798607 ; .8104573 102
- dc 6768327 ; .8068476 103
- dc 6737792 ; .8032075 104
- dc 6707004 ; .7995373 105
- dc 6675963 ; .795837 106
- dc 6644671 ; .7921066 107
- dc 6613128 ; .7883465 108
- dc 6581337 ; .7845566 109
- dc 6549298 ; .7807373 110
- dc 6517012 ; .7768885 111
- dc 6484481 ; .7730105 112
- dc 6451706 ; .7691034 113
- dc 6418688 ; .7651673 114
- dc 6385428 ; .7612024 115
- dc 6351928 ; .7572089 116
- dc 6318188 ; .7531868 117
- dc 6284211 ; .7491364 118
- dc 6249997 ; .7450578 119
- dc 6215548 ; .7409511 120
- dc 6180865 ; .7368166 121
- dc 6145949 ; .7326543 122
- dc 6110802 ; .7284645 123
- dc 6075424 ; .7242471 124
- dc 6039818 ; .7200026 125
- dc 6003985 ; .7157309 126
- dc 5967925 ; .7114322 127
- dc 5931641 ; .7071068 128
- dc 5895133 ; .7027548 129
- dc 5858404 ; .6983763 130
- dc 5821454 ; .6939715 131
- dc 5784284 ; .6895405 132
- dc 5746898 ; .6850837 133
- dc 5709295 ; .680601 134
- dc 5671476 ; .6760927 135
- dc 5633444 ; .671559 136
- dc 5595201 ; .667 137
- dc 5556746 ; .6624158 138
- dc 5518082 ; .6578067 139
- dc 5479210 ; .6531728 140
- dc 5440133 ; .6485145 141
- dc 5400850 ; .6438315 142
- dc 5361364 ; .6391244 143
- dc 5321677 ; .6343933 144
- dc 5281788 ; .6296383 145
- dc 5241701 ; .6248595 146
- dc 5201416 ; .6200572 147
- dc 5160937 ; .6152316 148
- dc 5120262 ; .6103828 149
- dc 5079394 ; .605511 150
- dc 5038336 ; .6006165 151
- dc 4997088 ; .5956993 152
- dc 4955651 ; .5907597 153
- dc 4914028 ; .5857979 154
- dc 4872220 ; .580814 155
- dc 4830229 ; .5758082 156
- dc 4788056 ; .5707808 157
- dc 4745702 ; .5657318 158
- dc 4703170 ; .5606616 159
- dc 4660460 ; .5555702 160
- dc 4617576 ; .550458 161
- dc 4574517 ; .545325 162
- dc 4531287 ; .5401716 163
- dc 4487885 ; .5349976 164
- dc 4444315 ; .5298036 165
- dc 4400577 ; .5245897 166
- dc 4356673 ; .519356 167
- dc 4312606 ; .5141028 168
- dc 4268376 ; .5088301 169
- dc 4223986 ; .5035385 170
- dc 4179436 ; .4982277 171
- dc 4134730 ; .4928983 172
- dc 4089866 ; .4875501 173
- dc 4044850 ; .4821838 174
- dc 3999681 ; .4767992 175
- dc 3954363 ; .4713968 176
- dc 3908894 ; .4659766 177
- dc 3863278 ; .4605387 178
- dc 3817518 ; .4550836 179
- dc 3771613 ; .4496113 180
- dc 3725566 ; .4441221 181
- dc 3679379 ; .4386162 182
- dc 3633053 ; .4330938 183
- dc 3586592 ; .4275551 184
- dc 3539995 ; .4220003 185
- dc 3493264 ; .4164296 186
- dc 3446402 ; .4108432 187
- dc 3399410 ; .4052413 188
- dc 3352290 ; .3996242 189
- dc 3305045 ; .3939921 190
- dc 3257674 ; .3883451 191
- dc 3210181 ; .3826835 192
- dc 3162567 ; .3770074 193
- dc 3114834 ; .3713172 194
- dc 3066984 ; .365613 195
- dc 3019018 ; .359895 196
- dc 2970938 ; .3541635 197
- dc 2922748 ; .3484187 198
- dc 2874446 ; .3426607 199
- dc 2826037 ; .3368898 200
- dc 2777521 ; .3311063 201
- dc 2728900 ; .3253103 202
- dc 2680177 ; .319502 203
- dc 2631353 ; .3136818 204
- dc 2582430 ; .3078497 205
- dc 2533409 ; .302006 206
- dc 2484294 ; .2961509 207
- dc 2435084 ; .2902846 208
- dc 2385783 ; .2844075 209
- dc 2336392 ; .2785196 210
- dc 2286913 ; .2726213 211
- dc 2237349 ; .2667128 212
- dc 2187699 ; .2607941 213
- dc 2137968 ; .2548657 214
- dc 2088156 ; .2489276 215
- dc 2038265 ; .2429801 216
- dc 1988297 ; .2370235 217
- dc 1938256 ; .2310581 218
- dc 1888141 ; .2250839 219
- dc 1837954 ; .2191012 220
- dc 1787699 ; .2131103 221
- dc 1737376 ; .2071113 222
- dc 1686987 ; .2011046 223
- dc 1636535 ; .1950902 224
- dc 1586023 ; .1890687 225
- dc 1535450 ; .1830399 226
- dc 1484819 ; .1770042 227
- dc 1434132 ; .1709619 228
- dc 1383391 ; .1649131 229
- dc 1332598 ; .1588581 230
- dc 1281756 ; .1527972 231
- dc 1230864 ; .1467305 232
- dc 1179927 ; .1406583 233
- dc 1128945 ; .1345807 234
- dc 1077920 ; .1284981 235
- dc 1026855 ; .1224106 236
- dc 975751 ; .1163186 237
- dc 924610 ; .1102221 238
- dc 873436 ; .1041216 239
- dc 822227 ; 9.801713E-02 240
- dc 770988 ; 9.190893E-02 241
- dc 719720 ; 8.579728E-02 242
- dc 668424 ; 7.968238E-02 243
- dc 617104 ; .0735645 244
- dc 565761 ; 6.744395E-02 245
- dc 514396 ; 6.132075E-02 246
- dc 463011 ; 5.519524E-02 247
- dc 411609 ; 4.906766E-02 248
- dc 360192 ; 4.293822E-02 249
- dc 308761 ; 3.680717E-02 250
- dc 257318 ; 3.067473E-02 251
- dc 205866 ; 2.454114E-02 252
- dc 154407 ; 1.840674E-02 253
- dc 102941 ; 1.227153E-02 254
- dc 51471 ; 6.135858E-03 255
- dc 0 ;-4.371139E-08 256
- dc -51472 ;-6.135946E-03 257
- dc -102942 ;-1.227162E-02 258
- dc -154407 ;-1.840671E-02 259
- dc -205867 ;-2.454122E-02 260
- dc -257319 ;-3.067482E-02 261
- dc -308762 ;-3.680725E-02 262
- dc -360193 ;-4.293831E-02 263
- dc -411610 ;-4.906774E-02 264
- dc -463012 ;-5.519533E-02 265
- dc -514396 ;-6.132084E-02 266
- dc -565760 ;-6.744391E-02 267
- dc -617104 ;-7.356458E-02 268
- dc -668425 ;-7.968247E-02 269
- dc -719720 ;-8.579736E-02 270
- dc -770989 ;-9.190902E-02 271
- dc -822228 ;-9.801722E-02 272
- dc -873435 ;-.1041216 273
- dc -924611 ;-.1102222 274
- dc -975751 ;-.1163186 275
- dc -1026855 ;-.1224107 276
- dc -1077921 ;-.1284982 277
- dc -1128945 ;-.1345808 278
- dc -1179927 ;-.1406583 279
- dc -1230865 ;-.1467306 280
- dc -1281755 ;-.1527972 281
- dc -1332599 ;-.1588582 282
- dc -1383392 ;-.1649132 283
- dc -1434133 ;-.170962 284
- dc -1484819 ;-.1770043 285
- dc -1535450 ;-.18304 286
- dc -1586023 ;-.1890687 287
- dc -1636536 ;-.1950903 288
- dc -1686988 ;-.2011047 289
- dc -1737376 ;-.2071114 290
- dc -1787699 ;-.2131104 291
- dc -1837955 ;-.2191013 292
- dc -1888141 ;-.225084 293
- dc -1938257 ;-.2310582 294
- dc -1988298 ;-.2370236 295
- dc -2038265 ;-.2429802 296
- dc -2088156 ;-.2489277 297
- dc -2137968 ;-.2548657 298
- dc -2187700 ;-.2607942 299
- dc -2237349 ;-.2667129 300
- dc -2286913 ;-.2726214 301
- dc -2336392 ;-.2785197 302
- dc -2385783 ;-.2844076 303
- dc -2435084 ;-.2902847 304
- dc -2484294 ;-.296151 305
- dc -2533410 ;-.302006 306
- dc -2582430 ;-.3078497 307
- dc -2631353 ;-.3136818 308
- dc -2680177 ;-.3195021 309
- dc -2728900 ;-.3253103 310
- dc -2777521 ;-.3311064 311
- dc -2826037 ;-.3368899 312
- dc -2874447 ;-.3426608 313
- dc -2922747 ;-.3484187 314
- dc -2970938 ;-.3541635 315
- dc -3019018 ;-.3598951 316
- dc -3066984 ;-.3656131 317
- dc -3114834 ;-.3713173 318
- dc -3162567 ;-.3770075 319
- dc -3210182 ;-.3826836 320
- dc -3257675 ;-.3883452 321
- dc -3305044 ;-.3939921 322
- dc -3352290 ;-.3996242 323
- dc -3399410 ;-.4052414 324
- dc -3446402 ;-.4108432 325
- dc -3493263 ;-.4164295 326
- dc -3539994 ;-.4220003 327
- dc -3586592 ;-.4275551 328
- dc -3633054 ;-.4330938 329
- dc -3679379 ;-.4386163 330
- dc -3725566 ;-.4441222 331
- dc -3771613 ;-.4496114 332
- dc -3817518 ;-.4550837 333
- dc -3863279 ;-.4605388 334
- dc -3908894 ;-.4659766 335
- dc -3954363 ;-.4713969 336
- dc -3999682 ;-.4767994 337
- dc -4044851 ;-.482184 338
- dc -4089868 ;-.4875503 339
- dc -4134729 ;-.4928982 340
- dc -4179436 ;-.4982277 341
- dc -4223986 ;-.5035385 342
- dc -4268376 ;-.5088302 343
- dc -4312606 ;-.5141028 344
- dc -4356673 ;-.519356 345
- dc -4400577 ;-.5245898 346
- dc -4444315 ;-.5298037 347
- dc -4487885 ;-.5349977 348
- dc -4531287 ;-.5401716 349
- dc -4574518 ;-.5453252 350
- dc -4617577 ;-.5504581 351
- dc -4660459 ;-.5555701 352
- dc -4703169 ;-.5606616 353
- dc -4745702 ;-.5657318 354
- dc -4788055 ;-.5707808 355
- dc -4830228 ;-.5758082 356
- dc -4872220 ;-.580814 357
- dc -4914028 ;-.5857979 358
- dc -4955651 ;-.5907598 359
- dc -4997087 ;-.5956993 360
- dc -5038336 ;-.6006166 361
- dc -5079395 ;-.6055111 362
- dc -5120263 ;-.610383 363
- dc -5160937 ;-.6152317 364
- dc -5201417 ;-.6200574 365
- dc -5241702 ;-.6248596 366
- dc -5281787 ;-.6296382 367
- dc -5321676 ;-.6343933 368
- dc -5361364 ;-.6391245 369
- dc -5400850 ;-.6438316 370
- dc -5440133 ;-.6485145 371
- dc -5479211 ;-.653173 372
- dc -5518082 ;-.6578068 373
- dc -5556746 ;-.6624159 374
- dc -5595201 ;-.6670001 375
- dc -5633445 ;-.6715591 376
- dc -5671477 ;-.6760928 377
- dc -5709295 ;-.6806011 378
- dc -5746897 ;-.6850836 379
- dc -5784284 ;-.6895405 380
- dc -5821454 ;-.6939715 381
- dc -5858404 ;-.6983763 382
- dc -5895133 ;-.7027548 383
- dc -5931641 ;-.7071068 384
- dc -5967925 ;-.7114322 385
- dc -6003985 ;-.7157309 386
- dc -6039819 ;-.7200026 387
- dc -6075425 ;-.7242472 388
- dc -6110802 ;-.7284645 389
- dc -6145950 ;-.7326544 390
- dc -6180865 ;-.7368166 391
- dc -6215549 ;-.7409513 392
- dc -6249998 ;-.745058 393
- dc -6284212 ;-.7491366 394
- dc -6318188 ;-.7531868 395
- dc -6351927 ;-.7572089 396
- dc -6385427 ;-.7612024 397
- dc -6418687 ;-.7651673 398
- dc -6451705 ;-.7691034 399
- dc -6484481 ;-.7730105 400
- dc -6517012 ;-.7768885 401
- dc -6549298 ;-.7807373 402
- dc -6581337 ;-.7845566 403
- dc -6613129 ;-.7883465 404
- dc -6644671 ;-.7921066 405
- dc -6675963 ;-.795837 406
- dc -6707003 ;-.7995373 407
- dc -6737792 ;-.8032075 408
- dc -6768327 ;-.8068476 409
- dc -6798607 ;-.8104573 410
- dc -6828630 ;-.8140363 411
- dc -6858397 ;-.8175848 412
- dc -6887906 ;-.8211025 413
- dc -6917155 ;-.8245893 414
- dc -6946145 ;-.8280451 415
- dc -6974872 ;-.8314696 416
- dc -7003337 ;-.834863 417
- dc -7031538 ;-.8382248 418
- dc -7059474 ;-.841555 419
- dc -7087145 ;-.8448537 420
- dc -7114549 ;-.8481204 421
- dc -7141684 ;-.8513552 422
- dc -7168551 ;-.854558 423
- dc -7195148 ;-.8577286 424
- dc -7221474 ;-.8608669 425
- dc -7247528 ;-.8639728 426
- dc -7273310 ;-.8670463 427
- dc -7298818 ;-.870087 428
- dc -7324051 ;-.8730951 429
- dc -7349008 ;-.8760701 430
- dc -7373689 ;-.8790124 431
- dc -7398091 ;-.8819214 432
- dc -7422216 ;-.8847972 433
- dc -7446061 ;-.8876398 434
- dc -7469624 ;-.8904487 435
- dc -7492908 ;-.8932244 436
- dc -7515909 ;-.8959663 437
- dc -7538626 ;-.8986744 438
- dc -7561061 ;-.9013489 439
- dc -7583211 ;-.9039893 440
- dc -7605075 ;-.9065957 441
- dc -7626653 ;-.9091681 442
- dc -7647944 ;-.9117061 443
- dc -7668947 ;-.9142098 444
- dc -7689661 ;-.9166791 445
- dc -7710085 ;-.9191139 446
- dc -7730220 ;-.9215141 447
- dc -7750063 ;-.9238797 448
- dc -7769615 ;-.9262104 449
- dc -7788873 ;-.9285061 450
- dc -7807838 ;-.930767 451
- dc -7826510 ;-.9329928 452
- dc -7844887 ;-.9351835 453
- dc -7862969 ;-.9373391 454
- dc -7880755 ;-.9394593 455
- dc -7898243 ;-.9415441 456
- dc -7915435 ;-.9435936 457
- dc -7932329 ;-.9456074 458
- dc -7948923 ;-.9475856 459
- dc -7965219 ;-.9495282 460
- dc -7981215 ;-.9514351 461
- dc -7996910 ;-.9533061 462
- dc -8012303 ;-.9551411 463
- dc -8027396 ;-.9569404 464
- dc -8042186 ;-.9587034 465
- dc -8056674 ;-.9604306 466
- dc -8070858 ;-.9621214 467
- dc -8084739 ;-.9637761 468
- dc -8098314 ;-.9653944 469
- dc -8111586 ;-.9669765 470
- dc -8124551 ;-.9685221 471
- dc -8137211 ;-.9700313 472
- dc -8149565 ;-.971504 473
- dc -8161612 ;-.9729401 474
- dc -8173350 ;-.9743394 475
- dc -8184782 ;-.9757022 476
- dc -8195906 ;-.9770282 477
- dc -8206720 ;-.9783174 478
- dc -8217226 ;-.9795698 479
- dc -8227423 ;-.9807854 480
- dc -8237309 ;-.9819639 481
- dc -8246885 ;-.9831055 482
- dc -8256152 ;-.9842101 483
- dc -8265107 ;-.9852777 484
- dc -8273751 ;-.9863082 485
- dc -8282084 ;-.9873015 486
- dc -8290105 ;-.9882576 487
- dc -8297813 ;-.9891766 488
- dc -8305209 ;-.9900582 489
- dc -8312292 ;-.9909026 490
- dc -8319063 ;-.9917097 491
- dc -8325521 ;-.9924796 492
- dc -8331664 ;-.9932119 493
- dc -8337495 ;-.993907 494
- dc -8343011 ;-.9945646 495
- dc -8348214 ;-.9951848 496
- dc -8353102 ;-.9957675 497
- dc -8357675 ;-.9963127 498
- dc -8361934 ;-.9968203 499
- dc -8365878 ;-.9972905 500
- dc -8369507 ;-.9977232 501
- dc -8372821 ;-.9981182 502
- dc -8375819 ;-.9984756 503
- dc -8378502 ;-.9987954 504
- dc -8380871 ;-.9990778 505
- dc -8382923 ;-.9993224 506
- dc -8384660 ;-.9995295 507
- dc -8386080 ;-.9996988 508
- dc -8387186 ;-.9998306 509
- dc -8387975 ;-.9999248 510
- dc -8388449 ;-.9999812 511
- ; 1024 point fft sine table
- org y:twiddle
- dc 0 ; 0 0
- dc -51472 ;-6.135885E-03 1
- dc -102941 ;-1.227154E-02 2
- dc -154407 ;-1.840673E-02 3
- dc -205867 ;-2.454123E-02 4
- dc -257319 ;-3.067481E-02 5
- dc -308761 ;-3.680723E-02 6
- dc -360192 ;-4.293826E-02 7
- dc -411609 ;-4.906768E-02 8
- dc -463011 ;-5.519524E-02 9
- dc -514396 ;-6.132074E-02 10
- dc -565761 ;-6.744393E-02 11
- dc -617104 ;-7.356457E-02 12
- dc -668425 ;-7.968244E-02 13
- dc -719720 ;-8.579732E-02 14
- dc -770988 ;-9.190896E-02 15
- dc -822227 ;-9.801714E-02 16
- dc -873435 ;-.1041216 17
- dc -924611 ;-.1102222 18
- dc -975751 ;-.1163186 19
- dc -1026855 ;-.1224107 20
- dc -1077920 ;-.1284981 21
- dc -1128945 ;-.1345807 22
- dc -1179927 ;-.1406583 23
- dc -1230864 ;-.1467305 24
- dc -1281755 ;-.1527972 25
- dc -1332599 ;-.1588582 26
- dc -1383391 ;-.1649131 27
- dc -1434132 ;-.1709619 28
- dc -1484819 ;-.1770042 29
- dc -1535450 ;-.1830399 30
- dc -1586023 ;-.1890687 31
- dc -1636536 ;-.1950903 32
- dc -1686988 ;-.2011046 33
- dc -1737376 ;-.2071114 34
- dc -1787699 ;-.2131104 35
- dc -1837954 ;-.2191012 36
- dc -1888140 ;-.2250839 37
- dc -1938256 ;-.2310581 38
- dc -1988298 ;-.2370236 39
- dc -2038265 ;-.2429802 40
- dc -2088156 ;-.2489276 41
- dc -2137968 ;-.2548657 42
- dc -2187699 ;-.2607941 43
- dc -2237348 ;-.2667128 44
- dc -2286913 ;-.2726214 45
- dc -2336392 ;-.2785197 46
- dc -2385783 ;-.2844076 47
- dc -2435084 ;-.2902847 48
- dc -2484294 ;-.2961509 49
- dc -2533409 ;-.302006 50
- dc -2582430 ;-.3078497 51
- dc -2631353 ;-.3136818 52
- dc -2680177 ;-.319502 53
- dc -2728900 ;-.3253103 54
- dc -2777521 ;-.3311063 55
- dc -2826037 ;-.3368899 56
- dc -2874446 ;-.3426607 57
- dc -2922747 ;-.3484187 58
- dc -2970939 ;-.3541636 59
- dc -3019018 ;-.3598951 60
- dc -3066984 ;-.3656131 61
- dc -3114834 ;-.3713172 62
- dc -3162567 ;-.3770075 63
- dc -3210181 ;-.3826835 64
- dc -3257674 ;-.3883451 65
- dc -3305044 ;-.3939921 66
- dc -3352290 ;-.3996242 67
- dc -3399410 ;-.4052413 68
- dc -3446402 ;-.4108432 69
- dc -3493264 ;-.4164296 70
- dc -3539994 ;-.4220003 71
- dc -3586592 ;-.4275551 72
- dc -3633054 ;-.4330938 73
- dc -3679379 ;-.4386163 74
- dc -3725566 ;-.4441222 75
- dc -3771613 ;-.4496114 76
- dc -3817517 ;-.4550836 77
- dc -3863278 ;-.4605387 78
- dc -3908894 ;-.4659766 79
- dc -3954362 ;-.4713968 80
- dc -3999681 ;-.4767993 81
- dc -4044850 ;-.4821838 82
- dc -4089866 ;-.4875502 83
- dc -4134729 ;-.4928983 84
- dc -4179436 ;-.4982277 85
- dc -4223986 ;-.5035385 86
- dc -4268376 ;-.5088302 87
- dc -4312606 ;-.5141028 88
- dc -4356673 ;-.519356 89
- dc -4400577 ;-.5245897 90
- dc -4444314 ;-.5298036 91
- dc -4487885 ;-.5349976 92
- dc -4531286 ;-.5401715 93
- dc -4574517 ;-.5453251 94
- dc -4617575 ;-.550458 95
- dc -4660460 ;-.5555703 96
- dc -4703170 ;-.5606616 97
- dc -4745702 ;-.5657319 98
- dc -4788055 ;-.5707808 99
- dc -4830228 ;-.5758082 100
- dc -4872220 ;-.580814 101
- dc -4914028 ;-.5857979 102
- dc -4955651 ;-.5907598 103
- dc -4997087 ;-.5956993 104
- dc -5038336 ;-.6006166 105
- dc -5079394 ;-.6055111 106
- dc -5120261 ;-.6103828 107
- dc -5160936 ;-.6152316 108
- dc -5201416 ;-.6200573 109
- dc -5241701 ;-.6248595 110
- dc -5281788 ;-.6296383 111
- dc -5321676 ;-.6343933 112
- dc -5361364 ;-.6391245 113
- dc -5400850 ;-.6438316 114
- dc -5440133 ;-.6485145 115
- dc -5479210 ;-.6531729 116
- dc -5518082 ;-.6578068 117
- dc -5556746 ;-.6624158 118
- dc -5595201 ;-.667 119
- dc -5633444 ;-.671559 120
- dc -5671476 ;-.6760928 121
- dc -5709295 ;-.6806011 122
- dc -5746898 ;-.6850837 123
- dc -5784285 ;-.6895406 124
- dc -5821454 ;-.6939715 125
- dc -5858404 ;-.6983763 126
- dc -5895133 ;-.7027548 127
- dc -5931641 ;-.7071068 128
- dc -5967925 ;-.7114322 129
- dc -6003985 ;-.7157309 130
- dc -6039818 ;-.7200026 131
- dc -6075424 ;-.7242471 132
- dc -6110802 ;-.7284645 133
- dc -6145949 ;-.7326543 134
- dc -6180865 ;-.7368166 135
- dc -6215548 ;-.7409511 136
- dc -6249997 ;-.7450578 137
- dc -6284211 ;-.7491364 138
- dc -6318188 ;-.7531868 139
- dc -6351927 ;-.7572089 140
- dc -6385427 ;-.7612024 141
- dc -6418687 ;-.7651673 142
- dc -6451705 ;-.7691034 143
- dc -6484481 ;-.7730105 144
- dc -6517012 ;-.7768885 145
- dc -6549298 ;-.7807373 146
- dc -6581337 ;-.7845566 147
- dc -6613128 ;-.7883465 148
- dc -6644671 ;-.7921066 149
- dc -6675963 ;-.795837 150
- dc -6707004 ;-.7995373 151
- dc -6737792 ;-.8032075 152
- dc -6768327 ;-.8068476 153
- dc -6798607 ;-.8104573 154
- dc -6828630 ;-.8140363 155
- dc -6858397 ;-.8175848 156
- dc -6887906 ;-.8211025 157
- dc -6917155 ;-.8245893 158
- dc -6946144 ;-.8280451 159
- dc -6974871 ;-.8314696 160
- dc -7003336 ;-.8348629 161
- dc -7031537 ;-.8382247 162
- dc -7059474 ;-.841555 163
- dc -7087145 ;-.8448536 164
- dc -7114548 ;-.8481203 165
- dc -7141684 ;-.8513552 166
- dc -7168551 ;-.854558 167
- dc -7195148 ;-.8577286 168
- dc -7221475 ;-.860867 169
- dc -7247528 ;-.8639728 170
- dc -7273310 ;-.8670463 171
- dc -7298817 ;-.8700869 172
- dc -7324050 ;-.873095 173
- dc -7349008 ;-.8760701 174
- dc -7373689 ;-.8790124 175
- dc -7398091 ;-.8819213 176
- dc -7422215 ;-.8847971 177
- dc -7446060 ;-.8876396 178
- dc -7469624 ;-.8904487 179
- dc -7492908 ;-.8932244 180
- dc -7515909 ;-.8959664 181
- dc -7538627 ;-.8986746 182
- dc -7561062 ;-.9013489 183
- dc -7583211 ;-.9039893 184
- dc -7605075 ;-.9065957 185
- dc -7626653 ;-.909168 186
- dc -7647944 ;-.9117061 187
- dc -7668947 ;-.9142098 188
- dc -7689661 ;-.9166791 189
- dc -7710085 ;-.9191139 190
- dc -7730219 ;-.9215141 191
- dc -7750062 ;-.9238796 192
- dc -7769613 ;-.9262102 193
- dc -7788873 ;-.9285061 194
- dc -7807838 ;-.930767 195
- dc -7826511 ;-.9329929 196
- dc -7844887 ;-.9351836 197
- dc -7862969 ;-.9373391 198
- dc -7880754 ;-.9394592 199
- dc -7898243 ;-.9415441 200
- dc -7915434 ;-.9435934 201
- dc -7932329 ;-.9456074 202
- dc -7948923 ;-.9475856 203
- dc -7965219 ;-.9495282 204
- dc -7981214 ;-.951435 205
- dc -7996910 ;-.9533061 206
- dc -8012304 ;-.9551412 207
- dc -8027396 ;-.9569404 208
- dc -8042187 ;-.9587036 209
- dc -8056674 ;-.9604305 210
- dc -8070858 ;-.9621214 211
- dc -8084739 ;-.9637761 212
- dc -8098314 ;-.9653944 213
- dc -8111585 ;-.9669764 214
- dc -8124551 ;-.9685221 215
- dc -8137211 ;-.9700313 216
- dc -8149565 ;-.971504 217
- dc -8161610 ;-.9729399 218
- dc -8173351 ;-.9743395 219
- dc -8184782 ;-.9757022 220
- dc -8195905 ;-.9770282 221
- dc -8206720 ;-.9783174 222
- dc -8217226 ;-.9795699 223
- dc -8227422 ;-.9807853 224
- dc -8237309 ;-.9819639 225
- dc -8246885 ;-.9831055 226
- dc -8256152 ;-.9842101 227
- dc -8265107 ;-.9852777 228
- dc -8273751 ;-.9863082 229
- dc -8282084 ;-.9873015 230
- dc -8290104 ;-.9882576 231
- dc -8297813 ;-.9891766 232
- dc -8305209 ;-.9900582 233
- dc -8312293 ;-.9909027 234
- dc -8319063 ;-.9917097 235
- dc -8325521 ;-.9924796 236
- dc -8331665 ;-.993212 237
- dc -8337494 ;-.9939069 238
- dc -8343011 ;-.9945646 239
- dc -8348213 ;-.9951848 240
- dc -8353102 ;-.9957675 241
- dc -8357675 ;-.9963126 242
- dc -8361934 ;-.9968203 243
- dc -8365878 ;-.9972905 244
- dc -8369507 ;-.9977231 245
- dc -8372820 ;-.9981181 246
- dc -8375819 ;-.9984756 247
- dc -8378502 ;-.9987954 248
- dc -8380870 ;-.9990777 249
- dc -8382923 ;-.9993225 250
- dc -8384660 ;-.9995296 251
- dc -8386081 ;-.9996989 252
- dc -8387186 ;-.9998306 253
- dc -8387976 ;-.9999248 254
- dc -8388449 ;-.9999812 255
- dc -8388607 ;-1 256
- dc -8388449 ;-.9999812 257
- dc -8387975 ;-.9999248 258
- dc -8387186 ;-.9998306 259
- dc -8386080 ;-.9996988 260
- dc -8384660 ;-.9995295 261
- dc -8382923 ;-.9993224 262
- dc -8380870 ;-.9990777 263
- dc -8378502 ;-.9987954 264
- dc -8375819 ;-.9984756 265
- dc -8372821 ;-.9981182 266
- dc -8369507 ;-.9977231 267
- dc -8365878 ;-.9972906 268
- dc -8361934 ;-.9968204 269
- dc -8357674 ;-.9963126 270
- dc -8353102 ;-.9957675 271
- dc -8348214 ;-.9951848 272
- dc -8343011 ;-.9945646 273
- dc -8337495 ;-.993907 274
- dc -8331664 ;-.9932119 275
- dc -8325521 ;-.9924796 276
- dc -8319063 ;-.9917098 277
- dc -8312292 ;-.9909026 278
- dc -8305209 ;-.9900582 279
- dc -8297814 ;-.9891766 280
- dc -8290104 ;-.9882576 281
- dc -8282083 ;-.9873014 282
- dc -8273751 ;-.9863081 283
- dc -8265107 ;-.9852776 284
- dc -8256151 ;-.9842101 285
- dc -8246886 ;-.9831056 286
- dc -8237309 ;-.9819639 287
- dc -8227423 ;-.9807854 288
- dc -8217226 ;-.9795698 289
- dc -8206720 ;-.9783174 290
- dc -8195905 ;-.9770281 291
- dc -8184782 ;-.9757022 292
- dc -8173350 ;-.9743394 293
- dc -8161611 ;-.9729399 294
- dc -8149564 ;-.9715039 295
- dc -8137212 ;-.9700314 296
- dc -8124551 ;-.9685221 297
- dc -8111585 ;-.9669764 298
- dc -8098315 ;-.9653945 299
- dc -8084739 ;-.9637762 300
- dc -8070858 ;-.9621214 301
- dc -8056674 ;-.9604306 302
- dc -8042186 ;-.9587034 303
- dc -8027396 ;-.9569404 304
- dc -8012303 ;-.9551411 305
- dc -7996910 ;-.9533061 306
- dc -7981214 ;-.951435 307
- dc -7965219 ;-.9495282 308
- dc -7948923 ;-.9475856 309
- dc -7932328 ;-.9456074 310
- dc -7915435 ;-.9435935 311
- dc -7898243 ;-.9415441 312
- dc -7880754 ;-.9394592 313
- dc -7862969 ;-.9373391 314
- dc -7844887 ;-.9351835 315
- dc -7826510 ;-.9329928 316
- dc -7807838 ;-.930767 317
- dc -7788872 ;-.9285061 318
- dc -7769613 ;-.9262102 319
- dc -7750062 ;-.9238795 320
- dc -7730219 ;-.9215141 321
- dc -7710085 ;-.9191139 322
- dc -7689660 ;-.9166791 323
- dc -7668946 ;-.9142098 324
- dc -7647943 ;-.911706 325
- dc -7626653 ;-.9091681 326
- dc -7605075 ;-.9065957 327
- dc -7583211 ;-.9039893 328
- dc -7561061 ;-.9013489 329
- dc -7538626 ;-.8986744 330
- dc -7515909 ;-.8959663 331
- dc -7492907 ;-.8932243 332
- dc -7469624 ;-.8904487 333
- dc -7446059 ;-.8876396 334
- dc -7422214 ;-.8847971 335
- dc -7398091 ;-.8819213 336
- dc -7373687 ;-.8790122 337
- dc -7349007 ;-.8760701 338
- dc -7324050 ;-.8730949 339
- dc -7298817 ;-.8700869 340
- dc -7273310 ;-.8670463 341
- dc -7247528 ;-.8639728 342
- dc -7221474 ;-.8608669 343
- dc -7195148 ;-.8577286 344
- dc -7168551 ;-.854558 345
- dc -7141684 ;-.8513552 346
- dc -7114548 ;-.8481203 347
- dc -7087144 ;-.8448535 348
- dc -7059473 ;-.8415549 349
- dc -7031537 ;-.8382247 350
- dc -7003335 ;-.8348628 351
- dc -6974872 ;-.8314696 352
- dc -6946145 ;-.8280451 353
- dc -6917155 ;-.8245893 354
- dc -6887906 ;-.8211025 355
- dc -6858397 ;-.8175848 356
- dc -6828630 ;-.8140363 357
- dc -6798607 ;-.8104573 358
- dc -6768326 ;-.8068475 359
- dc -6737792 ;-.8032075 360
- dc -6707003 ;-.7995373 361
- dc -6675963 ;-.795837 362
- dc -6644670 ;-.7921065 363
- dc -6613128 ;-.7883465 364
- dc -6581336 ;-.7845565 365
- dc -6549297 ;-.7807372 366
- dc -6517012 ;-.7768885 367
- dc -6484481 ;-.7730105 368
- dc -6451705 ;-.7691034 369
- dc -6418687 ;-.7651673 370
- dc -6385427 ;-.7612024 371
- dc -6351927 ;-.7572089 372
- dc -6318187 ;-.7531868 373
- dc -6284210 ;-.7491363 374
- dc -6249996 ;-.7450577 375
- dc -6215548 ;-.7409511 376
- dc -6180864 ;-.7368165 377
- dc -6145948 ;-.7326542 378
- dc -6110802 ;-.7284645 379
- dc -6075425 ;-.7242472 380
- dc -6039818 ;-.7200026 381
- dc -6003985 ;-.7157309 382
- dc -5967925 ;-.7114322 383
- dc -5931641 ;-.7071068 384
- dc -5895133 ;-.7027548 385
- dc -5858404 ;-.6983763 386
- dc -5821454 ;-.6939715 387
- dc -5784284 ;-.6895405 388
- dc -5746897 ;-.6850836 389
- dc -5709294 ;-.680601 390
- dc -5671475 ;-.6760926 391
- dc -5633443 ;-.6715589 392
- dc -5595200 ;-.6669999 393
- dc -5556745 ;-.6624157 394
- dc -5518082 ;-.6578068 395
- dc -5479211 ;-.653173 396
- dc -5440133 ;-.6485145 397
- dc -5400850 ;-.6438316 398
- dc -5361363 ;-.6391244 399
- dc -5321676 ;-.6343933 400
- dc -5281787 ;-.6296382 401
- dc -5241700 ;-.6248595 402
- dc -5201415 ;-.6200571 403
- dc -5160935 ;-.6152315 404
- dc -5120261 ;-.6103828 405
- dc -5079393 ;-.605511 406
- dc -5038336 ;-.6006166 407
- dc -4997087 ;-.5956993 408
- dc -4955651 ;-.5907598 409
- dc -4914028 ;-.5857979 410
- dc -4872220 ;-.580814 411
- dc -4830228 ;-.5758082 412
- dc -4788055 ;-.5707807 413
- dc -4745702 ;-.5657318 414
- dc -4703169 ;-.5606616 415
- dc -4660459 ;-.5555701 416
- dc -4617575 ;-.5504579 417
- dc -4574516 ;-.5453249 418
- dc -4531285 ;-.5401714 419
- dc -4487884 ;-.5349975 420
- dc -4444313 ;-.5298035 421
- dc -4400575 ;-.5245896 422
- dc -4356673 ;-.519356 423
- dc -4312606 ;-.5141028 424
- dc -4268376 ;-.5088302 425
- dc -4223986 ;-.5035385 426
- dc -4179436 ;-.4982277 427
- dc -4134729 ;-.4928982 428
- dc -4089866 ;-.4875501 429
- dc -4044849 ;-.4821837 430
- dc -3999681 ;-.4767992 431
- dc -3954361 ;-.4713966 432
- dc -3908893 ;-.4659764 433
- dc -3863277 ;-.4605387 434
- dc -3817518 ;-.4550837 435
- dc -3771613 ;-.4496114 436
- dc -3725566 ;-.4441222 437
- dc -3679379 ;-.4386163 438
- dc -3633054 ;-.4330938 439
- dc -3586591 ;-.4275551 440
- dc -3539994 ;-.4220003 441
- dc -3493263 ;-.4164295 442
- dc -3446401 ;-.4108431 443
- dc -3399409 ;-.4052412 444
- dc -3352289 ;-.3996241 445
- dc -3305043 ;-.3939919 446
- dc -3257673 ;-.388345 447
- dc -3210180 ;-.3826833 448
- dc -3162565 ;-.3770073 449
- dc -3114834 ;-.3713173 450
- dc -3066984 ;-.3656131 451
- dc -3019018 ;-.3598951 452
- dc -2970938 ;-.3541635 453
- dc -2922747 ;-.3484187 454
- dc -2874446 ;-.3426607 455
- dc -2826036 ;-.3368898 456
- dc -2777520 ;-.3311062 457
- dc -2728899 ;-.3253102 458
- dc -2680176 ;-.3195019 459
- dc -2631352 ;-.3136816 460
- dc -2582428 ;-.3078495 461
- dc -2533410 ;-.302006 462
- dc -2484294 ;-.296151 463
- dc -2435084 ;-.2902847 464
- dc -2385783 ;-.2844076 465
- dc -2336392 ;-.2785197 466
- dc -2286913 ;-.2726213 467
- dc -2237348 ;-.2667127 468
- dc -2187699 ;-.2607941 469
- dc -2137967 ;-.2548656 470
- dc -2088155 ;-.2489275 471
- dc -2038264 ;-.2429801 472
- dc -1988297 ;-.2370235 473
- dc -1938254 ;-.231058 474
- dc -1888139 ;-.2250838 475
- dc -1837953 ;-.2191011 476
- dc -1787697 ;-.2131101 477
- dc -1737376 ;-.2071114 478
- dc -1686988 ;-.2011046 479
- dc -1636536 ;-.1950903 480
- dc -1586022 ;-.1890687 481
- dc -1535449 ;-.1830399 482
- dc -1484818 ;-.1770042 483
- dc -1434131 ;-.1709618 484
- dc -1383391 ;-.164913 485
- dc -1332598 ;-.158858 486
- dc -1281754 ;-.1527971 487
- dc -1230863 ;-.1467303 488
- dc -1179925 ;-.1406581 489
- dc -1128945 ;-.1345808 490
- dc -1077920 ;-.1284982 491
- dc -1026855 ;-.1224107 492
- dc -975751 ;-.1163186 493
- dc -924611 ;-.1102222 494
- dc -873435 ;-.1041216 495
- dc -822227 ;-9.801709E-02 496
- dc -770988 ;-9.190889E-02 497
- dc -719719 ;-8.579724E-02 498
- dc -668424 ;-7.968235E-02 499
- dc -617103 ;-7.356445E-02 500
- dc -565759 ;-6.744378E-02 501
- dc -514394 ;-6.132059E-02 502
- dc -463010 ;-5.519508E-02 503
- dc -411608 ;-4.906749E-02 504
- dc -360190 ;-4.293806E-02 505
- dc -308761 ;-3.680724E-02 506
- dc -257319 ;-3.067481E-02 507
- dc -205867 ;-2.454121E-02 508
- dc -154407 ;-.0184067 509
- dc -102941 ;-1.227149E-02 510
- dc -51471 ;-6.135815E-03 511
- endm
- page 132,66,2,2
- ditfft macro points,passes,data,twiddle
- ;
- ; Radix 2 Decimation in Time In-Place Fast Fourier Transform Routine
- ;
- ; Complex input and output data
- ; Real data in X memory
- ; Imaginary data in Y memory
- ; Normally ordered input data
- ; Bit reversed output data
- ; Twiddle factor lookup table
- ; Cosine values in X memory
- ; -Sine values in Y memory
- ;
- ; Macro Call - ditfft points,passes,data,twiddle
- ;
- ; points number of points (4-32768, power of 2)
- ; passes number of fft passes (log2 points)
- ; data start of data buffer
- ; twiddle start of sine/cosine table
- ;
- ; Alters Data ALU Registers
- ; x1 x0 y1 y0
- ; a2 a1 a0 a
- ; b2 b1 b0 b
- ;
- ; Alters Address Registers
- ; r0 n0 m0
- ; r1 n1 m1
- ; n2
- ;
- ; r4 n4 m4
- ; r5 n5 m5
- ; r6 n6 m6
- ;
- ; Alters Program Control Registers
- ; pc sr
- ;
- ; Uses 6 locations on System Stack
- ;
- ; Authors - Kevin Kloker and Garth Hillman
- ; Latest Revision - Jan. 20, 1986
- ;
- move #points,n0 ;initialize butterflies per group
- move #1,n2 ;initialize groups per pass
- move #points/4,n6 ;initialize twiddle offset
- move #-1,m0 ;initialize address modifiers
- move m0,m1 ;for linear addressing
- move m0,m4
- move m0,m5
- move #0,m6 ;initialize twiddle factor address modifier
- ;for reverse carry (bit reversed) addressing
- ;
- ; Do all FFT passes but last pass
- ;
- do #passes-1,_end_pass
- move n0,a1 ;divide butterflies per group by two
- lsr a #data,r0 ;and initialize A input pointer
- move a1,n0 ;update butterflies per group
- move r0,r4 ;initialize A output pointer
- lua (r0)+n0,r1 ;initialize B input pointer
- lua (r1)-,r5 ;initialize B output pointer
- move #twiddle,r6 ;initialize twiddle factor pointer
- move n0,n1 ;initialize pointer offsets
- move n0,n4
- move n0,n5
-
- do n2,_end_grp
- move x:(r1),x1 y:(r6),y0 ;lookup -sine value
- move x:(r5),a y:(r0),b ;dummy load of a
- move x:(r6)+n6,x0 ;lookup cosine value
-
-
- do n0,_end_bfy
- mac x1,y0,b y:(r1)+,y1 ;Radix 2 DIT butterfly kernel
- macr x0,y1,b a,x:(r5)+ y:(r0),a ;with constant twiddle factor
- subl b,a x:(r0),b b,y:(r4)
- mac x1,x0,b x:(r0)+,a a,y:(r5)
- macr -y1,y0,b x:(r1),x1
- subl b,a b,x:(r4)+ y:(r0),b
- _end_bfy
- move a,x:(r5)+n5 y:(r1)+n1,y1 ;dummy load of x1 and y1
- move x:(r0)+n0,x1 y:(r4)+n4,y1
- _end_grp
- move n2,a1
- lsl a ;multiply groups per pass by two
- move a1,n2 ;update groups per pass
- _end_pass
- ;
- ; Do last FFT pass
- ;
- move #data,r0 ;initialize A input pointer
- move r0,r4 ;initialize A output pointer
- lua (r0)+,r1 ;initialize B input pointer
- lua (r1)-n1,r5 ;initialize B output pointer
- move #twiddle,r6 ;initialize twiddle factor pointer
- move x:(r5),a y:(r0),b ;dummy load of a
- move x:(r1),x1 y:(r6),y0
-
- do n2,_lastpass
- mac x1,y0,b x:(r6)+n6,x0 y:(r1)+n1,y1 ;Radix 2 DIT butterfly kernel
- macr x0,y1,b a,x:(r5)+n5 y:(r0),a ;with one butterfly per group
- subl b,a x:(r0),b b,y:(r4)
- mac x1,x0,b x:(r0)+n0,a a,y:(r5)
- macr -y1,y0,b x:(r1),x1 y:(r6),y0
- subl b,a b,x:(r4)+n4 y:(r0),b
- _lastpass
- move a,x:(r5)+n5
- endm
- page 132,66,2,2
- smallfft macro points,passes,data,twiddle
- ;
- ; Radix 2 Decimation in Time In-Place Fast Fourier Transform Routine
- ;
- ; Complex input and output data
- ; Real data in X memory
- ; Imaginary data in Y memory
- ; Normally ordered input data
- ; Bit reversed output data
- ; Twiddle factors lookup table
- ; Cosine value in X memory
- ; -Sine value in Y memory
- ;
- ; Macro Call - smallfft points,passes,data,twiddle
- ;
- ; points number of points (4-32768, power of 2)
- ; passes number of fft passes (log2 points)
- ; data start of data buffer
- ; twiddle start of sine/cosine table
- ;
- ; Alters Data ALU Registers
- ; x1 x0 y1 y0
- ; a2 a1 a0 a
- ; b2 b1 b0 b
- ;
- ; Alters Address Registers
- ; r0 n0 m0
- ; r1 n1 m1
- ; n2
- ;
- ; r4 n4 m4
- ; r5 n5 m5
- ; r6 n6 m6
- ;
- ; Alters Program Control Registers
- ; pc sr
- ;
- ; Uses 6 locations on System Stack
- ;
- ; Authors - Kevin Kloker and Garth Hillman
- ; Latest Revision - Jan. 20, 1986
- ;
- page
- move #points,n0 ;initialize butterflies per group
- move #1,n2 ;initialize groups per pass
- move #points/4,n6 ;initialize twiddle offset
- move #-1,m0 ;initialize address modifiers
- move m0,m1 ;for linear addressing
- move m0,m4
- move m0,m5
- move #0,m6 ;initialize twiddle factor address modifier
- ;for reverse carry (bit reversed) addressing
- ;
- ; Perform all FFT passes with triple nested DO loop
- ;
- do #passes,_end_pass
- move n0,a1 ;divide butterflies per group by two
- lsr a #data,r0 ;and initialize A input pointer
- move a1,n0 ;update butterflies per group
- move r0,r4 ;initialize A output pointer
- lua (r0)+n0,r1 ;initialize B input pointer
- lua (r1)-,r5 ;initialize B output pointer
- move #twiddle,r6 ;initialize twiddle factor pointer
- move n0,n1 ;initialize pointer offsets
- move n0,n4
- move n0,n5
-
- do n2,_end_grp
- move x:(r1),x1 y:(r6),y0 ;lookup -sine value
- move x:(r5),a y:(r0),b ;dummy load of a
- move x:(r6)+n6,x0 ;lookup cosine value
-
-
- do n0,_end_bfy
- mac x1,y0,b y:(r1)+,y1 ;Radix 2 DIT butterfly kernel
- macr x0,y1,b a,x:(r5)+ y:(r0),a ;with constant twiddle factor
- subl b,a x:(r0),b b,y:(r4)
- mac x1,x0,b x:(r0)+,a a,y:(r5)
- macr -y1,y0,b x:(r1),x1
- subl b,a b,x:(r4)+ y:(r0),b
- _end_bfy
- move a,x:(r5)+n5 y:(r1)+n1,y1 ;dummy load of x1 and y1
- move x:(r0)+n0,x1 y:(r4)+n4,y1
- _end_grp
- move n2,a1
- lsl a ;multiply groups per pass by two
- move a1,n2 ;update groups per pass
- _end_pass
- endm